{\rtf1\ansi\deff1\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 DejaVu Sans;}{\f3\froman\fprq2\fcharset0 Times New Roman;}{\f4\fswiss\fprq2\fcharset0 Arial;}}
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
{\stylesheet{\s1\aspalpha\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057\snext1 Normal;}
{\s2\sb240\sa120\keepn\aspalpha\rtlch\af4\afs28\lang255\ltrch\dbch\af1\langfe255\hich\f4\fs28\lang2057\loch\f4\fs28\lang2057\sbasedon1\snext3 Heading;}
{\s3\sa120\aspalpha\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057\sbasedon1\snext3 Body Text;}
{\s4\sa120\aspalpha\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057\sbasedon3\snext4 List;}
{\s5\sb120\sa120\aspalpha\rtlch\afs24\lang255\ai\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\loch\fs24\lang2057\i\sbasedon1\snext5 caption;}
{\s6\aspalpha\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057\sbasedon1\snext6 Index;}
{\s7\sb120\sa120\aspalpha\rtlch\afs24\lang255\ai\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\loch\fs24\lang2057\i\sbasedon1\snext7 caption;}
{\s8\sb240\sa120\keepn\aspalpha\rtlch\af4\afs28\lang255\ai\ab\ltrch\dbch\langfe255\hich\f4\fs28\lang2057\i\b\loch\f4\fs28\lang2057\i\b\sbasedon2\snext3{\*\soutlvl1} heading 2;}
{\s9\aspalpha\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057\sbasedon1\snext9 Table Contents;}
{\s10\qc\aspalpha\rtlch\afs24\lang255\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\b\loch\fs24\lang2057\b\sbasedon9\snext10 Table Heading;}
{\*\cs12\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 1;}
{\*\cs13\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 2;}
{\*\cs14\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 3;}
{\*\cs15\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 4;}
{\*\cs16\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 5;}
{\*\cs17\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 6;}
{\*\cs18\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 7;}
{\*\cs19\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 8;}
{\*\cs20\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 9;}
{\*\cs21\cf0\rtlch\af1\afs24\lang255\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang2057\loch\f1\fs24\lang2057 RTF_Num 2 10;}
{\*\cs22\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 Numbering Symbols;}
}{\*\listtable{\list\listtemplateid1
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\fi-360\li720}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'01.;}{\levelnumbers\'01;}\fi-360\li1080}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'02.;}{\levelnumbers\'01;}\fi-360\li1440}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'03.;}{\levelnumbers\'01;}\fi-360\li1800}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'04.;}{\levelnumbers\'01;}\fi-360\li2160}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'05.;}{\levelnumbers\'01;}\fi-360\li2520}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\fi-360\li2880}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'07.;}{\levelnumbers\'01;}\fi-360\li3240}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'08.;}{\levelnumbers\'01;}\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'09.;}{\levelnumbers\'01;}\fi-360\li3960}}{\listname RTF_Num 2;}\listid1}
}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls0}}

{\info{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment StarWriter}{\vern6800}}\deftab709
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}}
{\*\pgdscno0}\paperh16837\paperw11905\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pard\plain \ltrpar\s1\qc\aspalpha\rtlch\afs32\lang255\ab\ltrch\dbch\af2\langfe255\hich\fs32\lang2057\b\loch\fs32\lang2057\b 
\par \pard\plain \ltrpar\s1\qc\aspalpha\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs32\lang2057\b\loch\fs32\lang2057\b {\rtlch \ltrch\loch\f1\fs32\lang2057\i0\b 159.356 Software Engineering C}
\par \pard\plain \ltrpar\s1\qc\aspalpha\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs32\lang2057\b\loch\fs32\lang2057\b {\rtlch \ltrch\loch\f1\fs32\lang2057\i0\b 2008}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s8\aspalpha\sb240\sa120\keepn\ql\rtlch\af4\afs28\lang255\ai\ab\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang2057\i\b\loch\f4\fs28\lang2057\i\b {\rtlch \ltrch\loch\f4\fs28\lang2057\i\b Requirements}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 This year the project is about implementing an online system to manage car pooling. Users can register for the service. To prevent spam, user registration is safeguarded, for instance by new users having to type in a code displayed in a blurred image, or b
y sending a confirmation email to users. }
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 To facilitate user registration, users can use existing OpenID compliant user accounts (such as blogger ids and yahoo email addresses). Users can add locations, these are points where cars stop to pick up/drop people. Optionally, locations can be associate
d with maps (google maps, trademe smaps etc). Users can offer rides, and users can browse rides offered by others and accept them. For instance:}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ai\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\loch\fs24\lang2057\i {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b0 John offers a ride for Wednesday 8:30 from Linton school to Massey, back starting at 16:30 from the ecology car park.}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\loch\fs24\lang2057\i {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b0 James accepts this and meets John at the car park. }
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Users can register a google calendar with the system. If they do, ride information will be copied automatically to their calendar. Users can then setup the calendar to send them notifications about the rides (like an SMS message or email \'bd hour before). }
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Ride information is kept in a central database. For each user a \'93social score\'94 is calculated (dream up your own formula) indicating whether the user actively contributes to the car pool or is only leeching. }
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\b\loch\fs24\lang2057\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b Nice to have features (pick some to make your project special):}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f2\aspalpha 1.\tab}\ilvl0 \ltrpar\s1\ls0\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Abstraction from the calendar service used, users can also use MSN, Yahoo, .. calendars.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f2\aspalpha 2.\tab}\ilvl0 \ltrpar\s1\ls0\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 When entering an address, a map is automatically generated (by searching a map service).}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f2\aspalpha 3.\tab}\ilvl0 \ltrpar\s1\ls0\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Integrate Google AdSense and try to make some money with the service!}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f2\aspalpha 4.\tab}\ilvl0 \ltrpar\s1\ls0\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 RSS notification}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s8\aspalpha\sb240\sa120\keepn\ql\rtlch\af4\afs28\lang255\ai\ab\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang2057\i\b\loch\f4\fs28\lang2057\i\b {\rtlch \ltrch\loch\f4\fs28\lang2057\i\b Modules}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 It is essential to develop a high level system architecture first, to identify major modules and to define the interfaces between these modules, to assign responsibility for modules to team members to work in parallel, and to define integration points when
 these modules are integrated. We recommend using the following modules:}
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Name:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 domain model}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Description:}
\cell\pard\plain \intbl\ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 defines entities such as user, trip, location, seat, and history etc}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Technologies that could be used:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Plain Java (\'93plojos\'94), UML}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Critical points:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Must become stable quickly, a lot of other modules will depend on it.}
\par \pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Testing is critical.}
\cell\row\pard \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Name:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 authentication and user management}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Description:}
\cell\pard\plain \intbl\ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Registration of new users, removing users, authentication using OpenId}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Technologies that could be used:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Plain Java, Servlets or server pages, OpenID library}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Critical points:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Understand and implement OpenID, safeguarding registration}
\cell\row\pard \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Name:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Web interface}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Description:}
\cell\pard\plain \intbl\ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Generate web sites to add new rides and to query rides}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Technologies that could be used:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Servlets or server pages}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Critical points:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Only few people within the team will have done web tech (although this is not rocket science, only little knowledge is needed).}
\par \pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Keep this as simple as possible.}
\cell\row\pard \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Name:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Google calendar interface}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Description:}
\cell\pard\plain \intbl\ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Optionally, ride info is added to Google calendar. This enables users to get notifications via email, RSS and/or SMS}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Technologies that could be used:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Google Calendar API}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2804\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Critical points:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Understanding the Google API and testing it}
\cell\row\pard \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2849\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Name:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Persistence model}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2849\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Description:}
\cell\pard\plain \intbl\ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 The domain model is made persistent}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2849\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Technologies that could be used:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 A real database (such as MySQL), perhaps hibernate.}
\cell\row\pard \trowd\trql\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2849\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9637
\pard\intbl\pard\plain \intbl\ltrpar\s9\qr\aspalpha\rtlch\afs24\lang255\ai\ab\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\i\b\loch\fs24\lang2057\i\b {\rtlch \ltrch\loch\f1\fs24\lang2057\i\b Critical points:}
\cell\pard\plain \intbl\ltrpar\s9\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 {\rtlch \ltrch\loch\f1\fs24\lang2057\i0\b0 Master object-relational mapping. Understand scalability and concurrency issues when interacting with a database.}
\cell\row\pard \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par \pard\plain \ltrpar\s1\aspalpha\ql\rtlch\afs24\lang255\ltrch\dbch\af2\langfe255\hich\fs24\lang2057\loch\fs24\lang2057 
\par }